import { ElMessage, ElNotification } from 'element-plus'

// 用于存储最近一次错误通知的时间戳
let lastErrorTime = 0
// 错误通知的最小间隔时间（毫秒）
const ERROR_NOTIFICATION_INTERVAL = 3000

// 处理错误信息
export function handleError(error, message, isMssage = false, isShowError = true) {
    console.error('Error:', error)
    if (error.code === 401 || error.code === 108) {
        return
    }
    const currentTime = Date.now()
    // 如果距离上次错误通知的时间小于最小间隔，则不显示新的通知
    if (currentTime - lastErrorTime < ERROR_NOTIFICATION_INTERVAL) {
        return
    }
    if (!isShowError) {
        return
    }

    lastErrorTime = currentTime

    if (isMssage) {
        ElMessage({
            type: 'error',
            message: message || '获取数据失败'
        })
    }

    ElNotification({
        title: '错误',
        type: 'error',
        message: message || '获取数据失败'
    })
}
